<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 基本元字符

        /*
            \d    一位0~9的数字
            \D   一位非数字
            \s     一位空白(包括空格、换行、缩进)
            \S    一位非空白
            \w    一位(字母、数字、下划线)
            \W   一位非(字母、数字、下划线)
            .       一位任意内容(除换行)
            \      转义字符，用于将一些符号区别一下，比如你想校验1.2，.会被解析为上面说的一位任意内容，所以需要\.，这样就代表这个点是个小数点的意思。像这样的符号还有 / 
        */

        let reg1 = /\d/; //数据必须包含一个数字
        console.log(reg1.test(123)); //true
        console.log(reg1.test('zzz')); //false
        hr();

        let reg2 = /\D/; //数据必须包含一个非数字
        console.log(reg2.test('zzz')); //true
        console.log(reg2.test('111')); //false
        hr();

        let reg3 = /\s/; //数据必须包含一位空白
        console.log(reg3.test('s s')); //true
        console.log(reg3.test('ss')); //false
        hr();

        let reg4 = /\S/; //数据必须包含一位非空白
        console.log(reg4.test('fsadfsadfa')); //true
        console.log(reg4.test(' ')); //false
        hr();

        let reg5 = /\w/; //数据必须包含一位(字母、数字、下划线)
        console.log(reg5.test('z')); //true
        console.log(reg5.test(1)); //true
        console.log(reg5.test('_')); //true
        console.log(reg5.test('&')); //false
        hr();

        let reg6 = /\W/; //数据不能包含一位(字母、数字、下划线)
        console.log(reg6.test('z')); //false
        console.log(reg6.test(1)); //false
        console.log(reg6.test('_')); //false
        console.log(reg6.test('&')); //true
        hr();

        let reg7 = /./; //数据不能只包含换行
        console.log(reg7.test('z')); //true
        console.log(reg7.test(1)); //true
        console.log(reg7.test('_\n')); //true,因为_不是换行
        console.log(reg7.test('\n')); //false
        hr();

        let reg8 = /\d\.\d/;
        console.log(reg8.test('1.2'));//true
        console.log(reg8.test('12'));//false
        hr();

        function hr() {
            console.log('--------------------------------------');
        }
    </script>
</body>

</html>